Various network-based applications allow users to view the current geographic locations of the users' friends or family, if both parties have given permission. Many client devices are configured to report geolocation information to a server. Geographic position components may be used to determine the geographic location and orientation of a device. For example, a client device may include a global positioning system (“GPS”) receiver used to determine the device's current geolocation or latitude, longitude, and, in some examples, altitude coordinates. Thus, as the client device changes location the client device may use the position component to determine a “new” current location. In another example, the current location of the client device may be determined periodically, for example, after a pre-determined update period, such as every minute or several minutes, has passed.
If a device is not GPS enabled or has a defective GPS component, the device may be configured with a backup location mechanism. For example, the geographic location of a cell phone may be determined by identifying one or more cellular tower identifiers (“cellIDs”) and requesting the location from a geolocation server based on the cellID. Alternatively, the geographic location of the client device may be determined by triangulating the signals and locations of several cellular towers.
A geographic location may also be determined based on identifying nearby WiFi networks and the respective signal strengths and using this information to request the geolocation information from a server based on this information. In another example, the geolocation information may be determined by comparing the user's public Internet IP address with known locations of other electronically neighboring servers and routers.
These fallback mechanisms, however, are not as accurate as GPS. The accuracy of the location is limited by the configuration of a client device.